package com.xxgc.eow.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 企业岗位表
 * </p>
 *
 * @author Mr.Abel
 * @since 2023-05-22
 */
@Getter
@Setter
@Schema(name = "Companypost", description = "企业岗位表")
public class Companypost implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "职位id")
    @TableId(value = "post_id", type = IdType.AUTO)
    private Integer postId;
    @NotNull
    @Schema(description = "岗位名")
    private String postName;
    @NotNull
    @Schema(description = "岗位招聘地址")
    private String postAddress;
    @NotNull
    @Schema(description = "职位描述")
    private String postProfile;

    @Schema(description = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "销毁时间")
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime destroyTime;

    @Schema(description = "假删除状态")
    private Integer tip;
    @NotNull
    @Schema(description = "底薪")
    private String minSalary;
    @NotNull
    @Schema(description = "顶薪")
    private String maxSalary;

    @Schema(description = "薪期")
    private Integer salaryPeriod;
    @NotNull
    @Schema(description = "企业id")
    private Integer companyId;

    public Integer getPostId() {
        return postId;
    }

    public void setPostId(Integer postId) {
        this.postId = postId;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public String getPostAddress() {
        return postAddress;
    }

    public void setPostAddress(String postAddress) {
        this.postAddress = postAddress;
    }

    public String getPostProfile() {
        return postProfile;
    }

    public void setPostProfile(String postProfile) {
        this.postProfile = postProfile;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getDestroyTime() {
        return destroyTime;
    }

    public void setDestroyTime(LocalDateTime destroyTime) {
        this.destroyTime = destroyTime;
    }

    public Integer getTip() {
        return tip;
    }

    public void setTip(Integer tip) {
        this.tip = tip;
    }

    public String getMinSalary() {
        return minSalary;
    }

    public void setMinSalary(String minSalary) {
        this.minSalary = minSalary;
    }

    public String getMaxSalary() {
        return maxSalary;
    }

    public void setMaxSalary(String maxSalary) {
        this.maxSalary = maxSalary;
    }

    public Integer getSalaryPeriod() {
        return salaryPeriod;
    }

    public void setSalaryPeriod(Integer salaryPeriod) {
        this.salaryPeriod = salaryPeriod;
    }

    public Integer getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Integer companyId) {
        this.companyId = companyId;
    }

    public Companypost(Integer postId, String postName, String postAddress, String postProfile, LocalDateTime createTime, LocalDateTime destroyTime, Integer tip, String minSalary, String maxSalary, Integer salaryPeriod, Integer companyId) {
        this.postId = postId;
        this.postName = postName;
        this.postAddress = postAddress;
        this.postProfile = postProfile;
        this.createTime = createTime;
        this.destroyTime = destroyTime;
        this.tip = tip;
        this.minSalary = minSalary;
        this.maxSalary = maxSalary;
        this.salaryPeriod = salaryPeriod;
        this.companyId = companyId;
    }

    public Companypost(String postName, String postAddress, String postProfile, LocalDateTime createTime, LocalDateTime destroyTime, Integer tip, String minSalary, String maxSalary, Integer salaryPeriod, Integer companyId) {
        this.postName = postName;
        this.postAddress = postAddress;
        this.postProfile = postProfile;
        this.createTime = createTime;
        this.destroyTime = destroyTime;
        this.tip = tip;
        this.minSalary = minSalary;
        this.maxSalary = maxSalary;
        this.salaryPeriod = salaryPeriod;
        this.companyId = companyId;
    }

    public Companypost() {
    }

    @Override
    public String toString() {
        return "Companypost{" +
                "postId=" + postId +
                ", postName='" + postName + '\'' +
                ", postAddress='" + postAddress + '\'' +
                ", postProfile='" + postProfile + '\'' +
                ", createTime=" + createTime +
                ", destroyTime=" + destroyTime +
                ", tip=" + tip +
                ", minSalary='" + minSalary + '\'' +
                ", maxSalary='" + maxSalary + '\'' +
                ", salaryPeriod=" + salaryPeriod +
                ", companyId=" + companyId +
                '}';
    }
}
